﻿using Abp.Application.Services.Dto;
using SingleUserMall.Common;
using SingleUserMall.Complains.Form;
using SingleUserMall.Complains.VO;
using System.ComponentModel;
using System.Threading.Tasks;

namespace SingleUserMall.Complains
{
    /// <summary>
    /// 投诉管理
    /// </summary>
    [Description("投诉管理")]
    public interface IComplainManageAppService:IManageService
    {
        /// <summary>
        /// 获取投诉列表包含查询参数
        /// </summary>
       /// <param name="form"></param>
        /// <returns></returns>
        Task<PagedResultDto<ComplainViewVO>> GetComplainsBySearchAsync(ComplainSearchForm form);
        /// <summary>
        /// 获取投诉详情
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task<ComplainViewVO> GetComplainAsync(SingleId<long> form);
        /// <summary>
        /// 保存投诉信息
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task SaveComplainAsync(ComplainForm form);
        /// <summary>
        /// 删除投诉
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task RemoveAsync(SingleId<long> form);
        /// <summary>
        /// 审核投诉
        /// </summary>
        /// <param name="form"></param>
        /// <returns></returns>
        Task VerifyComplainAsync(ComplainAuditForm form);
    }
}
